package com.arpa.ntocc.common.domain.dto;

import com.arpa.ntocc.common.domain.entity.BasicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 用户DTO
 * </p>
 *
 * @author liuyj
 * @since 2019-11-25
 */
@Data
@ApiModel(value="PartyDTO对象", description="用户")
public class PartyDTO extends BasicEntity {


    @ApiModelProperty(value = "code")
    private String code;

    @ApiModelProperty(value = "用户类型")
    private String partyType;

    @ApiModelProperty(value = "用户电话")
    private String phone;

    @ApiModelProperty(value = "用户名")
    private String name;

    @ApiModelProperty(value = "用户密码")
    private String upass;

    @ApiModelProperty(value = "头像图片")
    private String headImg;

    @ApiModelProperty(value = "状态 0正常，1禁用")
    private Integer status;

    @ApiModelProperty(value = "网点编码")
    private String branchCode;
    @ApiModelProperty(value = "部门编码")
    private String departmentCode;

    @ApiModelProperty(value = "第几页")
    private Integer pageNum=1;

    @ApiModelProperty(value = "每页条数")
    private Integer pageSize=10;

    @ApiModelProperty(value = "排序字段")
    private String sortField;

    @ApiModelProperty(value = "排序方式")
    private String sortType;

    @ApiModelProperty(value = "创建时间起始")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtCreatedStart;

    @ApiModelProperty(value = "创建时间终止")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtCreatedEnd;

    @ApiModelProperty(value = "是否查询角色，0不查，1查")
    private Integer isQueryRole;

    @ApiModelProperty(value = "角色code")
    private String roleCode;

    @ApiModelProperty(value = "角色code列表")
    private List<String> roleCodeList;

    @ApiModelProperty(value = "工号")
    private  String jobNumber;

    @ApiModelProperty(value = "职位")
    private String job;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "父账号")
    private String parentCode;

    @ApiModelProperty(value = "是否是业务员")
    private String isSalesMan;


    @ApiModelProperty(value = "登录账号类型：WAREHOUSE（仓库）/SHIPMENT（入驻商）/WAREHOUSE、SHIPMENT（仓库，入驻商）")
    private String userLoginType;
    @ApiModelProperty(value = "'仓库授权'")
    private List<WarehouseAuthorizationJsonBean> warehouseAuthorization;
    @ApiModelProperty(value = "'货主授权'")
    private List<ShipmentAuthorizationJsonBean> shipmentAuthorization;

    @ApiModelProperty(value = "职位")
    private String position;

    @ApiModelProperty(value = "工号")
    private String employeeNumber;

    @ApiModelProperty(value = "用工类型")
    private String employmentType;

    @ApiModelProperty(value = "劳务外包方")
    private String outsourcer;

    @ApiModelProperty(value = "入职日期")
    private String enrollmentDate;

    @ApiModelProperty(value = "劳务外包方名称")
    private String outsourcerName;

    @ApiModelProperty(value = "职位名称")
    private String positionName;


}
